var A = A || {};

//适配异类框架
A.g = function(id){
	//通过jQuery获取jQuery对象，然后返回第一个成员
	return $(id).get(0);
}

A.on = function(id, type, fn){
	//如果传递参数是字符串则以id处理，否则以对象处理
	var dom = typeof id === 'string' ? $('#' + id) : $(id);
	dom.on(type, fn);
}

//参数适配
/**待明白*/
function doSomeThing(obj){
		var _adapter = {
		name : '雨夜清荷',
		title : '设计模式',
		age : 24,
		color : 'pink',
		size : 100,
		prize : 50
	};
	for(var i in _adapter){
		_adapter[i] = obj[i] || _adapter;
		_adapter[i] === obj[i] ? console.log(_adapter[i]): console.log(obj[i]);
	}
}

doSomeThing({
  name : '设计',
  title : '设计模式'
});


//数据适配器
var arr = ['JavaScript', 'book', '前端编程语言', '8月1日'];

var obj = {
	name : '',
	type : '',
	title : '',
	time : ''
}

function arrToObjAdapter(arr){
	return {
		name : arr[0],
		type : arr[1],
		title : arr[2],
		data : arr[3]
	}
}

var adapterData = arrToObjAdapter(arr);
console.log(adapterData);


//服务器端数据适配
//为简化模型，这里使用jQuery的ajax方法 理想数据是一个一维数组
function ajaxAdapter(data){
	//处理数据并返回新数据
	return [data['key1'], data['key2'], data['key3']]
}
$.ajax({
	url : 'someAdress.php',
	success : function(data, status){
		if(data){
			//使用适配后的数据—————返回的对象
			doSomeThing(ajaxAdapter(data));
		}
	}
});